/////////////////////////////////////////////////////////////////////////
//
// Amuse Engine SDK - resource
// Copyright( c) 2014.  All Rights Reserved
//
// File:		AEGPUProgramOGL.inl
// Author:		Gianluca Belardelli
// Date:		12/12/2014
//
/////////////////////////////////////////////////////////////////////////
#ifndef _AEGPUPROGRAMOGL_INL_
#define _AEGPUPROGRAMOGL_INL_

AE_FORCEINLINE AEUINT32 AEGPUProgramOGL::GetShaderHandle( void ) const
{
	return m_uiShaderHandle;
}

AE_FORCEINLINE void AEGPUProgramOGL::AddMapping( const AERegisterToUniformMappingEntry &refEntry )
{
	m_arrRegToUniMappings[m_uiNumMappings++] = refEntry;
}

AE_FORCEINLINE const AETArray<AEGPUProgramOGL::AERegisterToUniformMappingEntry> &AEGPUProgramOGL::GetMappings( void ) const
{
	return m_arrRegToUniMappings;
}

AE_FORCEINLINE AEUINT32 AEGPUProgramOGL::GetNumMappings( void ) const
{
	return m_uiNumMappings;
}

AE_FORCEINLINE void AEGPUProgramOGL::EnsureMappingSize( AEUINT32 uiSize )
{
	//m_arrRegToUniMappings.EnsureSize( uiSize );
}

AE_FORCEINLINE AEUINT32 AEGPUProgramOGL::GetProgramHandle( void ) const
{
	return m_uiShaderHandle;
}

AE_FORCEINLINE AEBOOL32 AEGPUProgramOGL::IsCompiled( void ) const
{
	return m_uiShaderHandle != 0;
}

#endif // _AEGPUPROGRAMOGL_INL_
